home *** CD-ROM | disk | FTP | other *** search
/ Amiga Magazin: Amiga-CD 1997 September & October / Amiga-CD 1997 #9-10.iso / software / fm2_demo / rexx / showprojects.rexx next >
OS/2 REXX Batch file  |  1996-10-29  |  2KB  |  87 lines

  1. /******************************************************************/
  2. /* ClassX Amiga Rexx script - Copyright © 1996 ClassX Development */
  3. /******************************************************************/
  4.  
  5. /*
  6.     $VER: ShowProjects.rexx 1.0
  7.     $INF: loads and shows all the projects in the "FontMachine:projects" dir.
  8. */
  9.  
  10. MYPORT = 'FontMachine'
  11.  
  12. IF ~SHOW('P', MYPORT) THEN DO
  13.     IF EXISTS('FontMachine:FontMachine') THEN DO
  14.         ADDRESS COMMAND 'Run >NIL: FontMachine:FontMachine'
  15.         DO 30 WHILE ~SHOW('P',MYPORT)
  16.              ADDRESS COMMAND 'Wait >NIL: 1 SEC'
  17.         END
  18.     END
  19.     ELSE DO
  20.         SAY "FontMachine could not be loaded."
  21.         EXIT 10
  22.     END
  23. END
  24.  
  25. IF ~SHOW('P', MYPORT) THEN DO
  26.     SAY 'FontMachine Rexx port could not be opened.'
  27.     EXIT 10
  28. END
  29.  
  30. ADDRESS VALUE MYPORT
  31. OPTIONS RESULTS
  32. OPTIONS FAILAT 10000
  33.  
  34. /******************************************************************/
  35.  
  36. /* Make sure rexxsupport library is opened */
  37. IF ~SHOW('L','rexxsupport.library') THEN CALL ADDLIB('rexxsupport.library',0,-30)
  38.  
  39. LockGui
  40.  
  41. /* set relevant paths for projects and temp files */
  42. PrjDir = 'FontMachine:Project/'
  43.  
  44. /* scan the projects dir */
  45. Files = SHOWDIR(PrjDir,'f',"|")
  46. fLength = LENGTH(Files)
  47.  
  48. nList=0
  49. DO WHILE fLength>0
  50.     cLength=pos('|',Files)
  51.     IF cLength=0 THEN DO
  52.         cLength=FLength+1
  53.         fLength=0
  54.     END
  55.     cFile = LEFT(Files,cLength-1)
  56.     pFile = PrjDir||cFile
  57.  
  58.     /* load the project */
  59.     FreeFont
  60.     FreeTexture Front
  61.     FreeTexture Border
  62.     LoadProject pFile
  63.  
  64.     IF RC=0 THEN DO
  65.         /* wait the rendering of the font */
  66.         DO WHILE FM_RESULT ~= 0
  67.             CheckRedraw
  68.             ADDRESS COMMAND 'Wait >NIL: 1 SEC'
  69.         END
  70.         Request '"Message"' '"Project: '||cFile||'"' 'Ok|Stop'
  71.     END
  72.     ELSE Request '"ARexx Error"' '"'FM_ERROR'"' 'Ok'
  73.  
  74.     /* check if user has stopped the script */
  75.     IF FM_RESULT=0 THEN FLength = 0
  76.  
  77.     /* next project */
  78.     if FLength~=0 then Files=right(Files,fLength-cLength)
  79.     fLength=fLength-cLength
  80. end
  81.  
  82. Request '"ARexx Message"' '"End"' 'Ok'
  83.  
  84. UnLockGui
  85.  
  86. /******************************************************************/
  87.